<HTML><HEAD><TITLE>Recorded Database</TITLE></HEAD><BODY>
[ <A HREF="../../index.html">Reference Manual</A> | <A HREF="../../fullindex.html">Alphabetic Index</A> ]<H1>Recorded Database</H1>
The record-family of built-ins to store data across failures
<H2>Predicates</H2>
<BLOCKQUOTE>
<DL>
<DT><A HREF="current_record-1.html"><STRONG>current_record(?Key)</STRONG></A></DT>
<DD>Succeeds if Key is the key of a recorded item.

</DD>
<DT><A HREF="erase-1.html"><STRONG>erase(+DBRef)</STRONG></A></DT>
<DD>Succeeds if the database reference DBRef designates a term recorded in the
indexed database and this term is successfully erased.

</DD>
<DT><A HREF="erase-2.html"><STRONG>erase(+Key, ?Value)</STRONG></A></DT>
<DD>Succeeds if the term Value associated with key Key is removed as an entry
in the indexed database.

</DD>
<DT><A HREF="erase_all-1.html"><STRONG>erase_all(+Key)</STRONG></A></DT>
<DD>All the the values associated with key Key are removed from the indexed
database.

</DD>
<DT><A HREF="is_record-1.html"><STRONG>is_record(+Key)</STRONG></A></DT>
<DD>Succeeds if Key is a key of a recorded item.

</DD>
<DT><A HREF="record-2.html"><STRONG>record(+Key, ?Value)</STRONG></A></DT>
<DD>Records the term Value at the end of key Key in the indexed database.

</DD>
<DT><A HREF="record_create-1.html"><STRONG>record_create(-Handle)</STRONG></A></DT>
<DD>Create an anonymous record handle</DD>
<DT><A HREF="recorda-2.html"><STRONG>recorda(+Key, ?Value)</STRONG></A></DT>
<DD>Records the term Value at the beginning of key Key in the indexed database.

</DD>
<DT><A HREF="recorda-3.html"><STRONG>recorda(+Key, ?Value, -DBRef)</STRONG></A></DT>
<DD>Records the term Value at the beginning of key Key in the indexed database.

</DD>
<DT><A HREF="recorded-2.html"><STRONG>recorded(+Key, ?Value)</STRONG></A></DT>
<DD>Succeeds if the term Value has been recorded in the indexed database under
the key Key.

</DD>
<DT><A HREF="recorded-3.html"><STRONG>recorded(+Key, ?Value, -DBRef)</STRONG></A></DT>
<DD>Succeeds if the term Value has been recorded in the indexed database under
the key Key and DBRef is its unique reference.

</DD>
<DT><A HREF="recorded_list-2.html"><STRONG>recorded_list(+Key, -List)</STRONG></A></DT>
<DD>Succeeds if the List is the list of all terms that are currently recorded
in the indexed database under the key Key.

</DD>
<DT><A HREF="recordz-2.html"><STRONG>recordz(+Key, ?Value)</STRONG></A></DT>
<DD>Records the term Value at the end of key Key in the indexed database.

</DD>
<DT><A HREF="recordz-3.html"><STRONG>recordz(+Key, ?Value, -DBRef)</STRONG></A></DT>
<DD>Records the term Value at the end of key Key in the indexed database.

</DD>
<DT><A HREF="referenced_record-2.html"><STRONG>referenced_record(+DBRef, -Value)</STRONG></A></DT>
<DD>Succeeds if Value is the Term recorded under the database reference DBRef.</DD>
<DT><A HREF="rerecord-2.html"><STRONG>rerecord(+Key, ?Value)</STRONG></A></DT>
<DD>Erases all entries recorded under the key Key and replaces them with the
given value Value.

</DD>
</DL>
</BLOCKQUOTE>
<H2>Description</H2>
	ECLiPSe provides several facilities to store information across
	backtracking. The following table gives an overview. If at all
	possible, the handle-based facilities (bags, records, shelves,
	stores) should be preferred because they lead to cleaner, reentrant
	code (without global state) and reduce the risk of memory leaks.
<PRE>
    Facility        Type            Reference       See
    ================================================================
    bags            unordered bag   by handle       bag_create/1
    ----------------------------------------------------------------
    anon.records    ordered list    by handle       record_create/1
    ----------------------------------------------------------------
    shelves         array           by handle       shelf_create/2,3
    ----------------------------------------------------------------
    stores          hash table      by handle       store_create/1
    ----------------------------------------------------------------
    named shelves   array           by name         shelf/2
    ----------------------------------------------------------------
    named stores    hash table      by name         store/1
    ----------------------------------------------------------------
    non-logical     single cell     by name         variable/1,2
    variables
    ----------------------------------------------------------------
    non-logical     array           by name         array/1,2
    arrays
    ----------------------------------------------------------------
    named records   ordered list    by name         record/1,2
    ----------------------------------------------------------------
    dynamic         ordered list    by name         dynamic/1,assert/1
    predicates
    ----------------------------------------------------------------
</PRE>
    
<HR>Generated from record.eci on 2009-05-27 01:25
</BODY></HTML>
